Skip to content

Modernize GitHub Actions workflows: Node 24 majors + pin floating versions (#90) - #97

Merged
devrimcavusoglu merged 1 commit into
mainfrom
chore/actions-node24-pins
Jun 11, 2026
Merged

Modernize GitHub Actions workflows: Node 24 majors + pin floating versions (#90)#97
devrimcavusoglu merged 1 commit into
mainfrom
chore/actions-node24-pins

Conversation

@devrimcavusoglu

Copy link
Copy Markdown
Owner

Closes #90.

Summary

Bumps every action in the four workflow files to its latest major (all run on Node 24) and pins the two floating version: latest tool references. Node 20 actions have been forced to Node 24 by default since June 2, 2026 (already in effect), and Node 20 is removed from runners on September 16, 2026.

Action Before After
actions/checkout v4 v6
actions/setup-go v5 v6
actions/setup-node v4 v6
golangci/golangci-lint-action v7 v9
goreleaser/goreleaser-action v6 v7
actions/configure-pages v4 v6
actions/upload-pages-artifact v3 v5
actions/deploy-pages v4 v5

The pages actions in docs-deploy.yml weren't in the issue's table but fall under the "all actions in the four workflow files" acceptance criterion.

Pins (was version: latest on both):

  • golangci-lint → v2.12.2 (action v8+ requires golangci-lint ≥ v2.1.0; repo's .golangci.yml is already v2)
  • goreleaser → v2.16.0 (matches the version: 2 config schema in .goreleaser.yaml)

Breaking changes reviewed per release notes

  • checkout v6 persists credentials to a separate file — no workflow here pushes via git credentials (release uses GITHUB_TOKEN env into goreleaser).
  • setup-node v5/v6 changed automatic package-manager caching — both docs workflows set cache: npm explicitly, unaffected.
  • configure-pages v5 breaking change only affects static_site_generator: next; docs site is VitePress.
  • upload-pages-artifact v4 stops including dotfiles in the artifact — the VitePress dist ships no load-bearing dotfiles, and deploy-pages doesn't run Jekyll so no .nojekyll is needed.
  • All bumped majors require runner ≥ v2.327.1 — GitHub-hosted runners satisfy this.

Acceptance criteria from #90

  • All actions in the four workflow files run on Node 24
  • No version: latest anywhere — both tools pinned to explicit releases
  • CI (test matrix + lint + docs checks) green — see checks on this PR
  • No deprecation warnings on a fresh run — verify in this PR's run annotations

Test plan

  • grep confirms no version: latest and no pre-Node-24 action majors remain
  • CI on this PR: test (ubuntu/macos/windows), lint, docs-pr-check all green
  • Release workflow path validated on the next tag push (not exercisable from a PR)

🤖 Generated with Claude Code

Bump all actions across the four workflow files to their latest majors,
which run on Node 24 (Node 20 actions are deprecated; forced to Node 24
since June 2, 2026, removed from runners September 16, 2026):

- actions/checkout v4 -> v6, actions/setup-go v5 -> v6
- actions/setup-node v4 -> v6 (explicit `cache: npm` unaffected by the
  v5/v6 automatic-caching changes)
- golangci/golangci-lint-action v7 -> v9
- goreleaser/goreleaser-action v6 -> v7
- actions/configure-pages v4 -> v6 (v5 breaking change only affects
  `static_site_generator: next`, not used)
- actions/upload-pages-artifact v3 -> v5 (v4 stops including dotfiles;
  the VitePress dist has none that matter, and deploy-pages does not
  run Jekyll so no .nojekyll is needed)
- actions/deploy-pages v4 -> v5

Pin the two floating `version: latest` tool references:
- golangci-lint pinned to v2.12.2 (action v8+ requires golangci-lint
  >= v2.1.0)
- goreleaser pinned to v2.16.0 (config schema `version: 2` compatible)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@devrimcavusoglu
devrimcavusoglu merged commit a2c5396 into main Jun 11, 2026
5 checks passed
@devrimcavusoglu
devrimcavusoglu deleted the chore/actions-node24-pins branch June 11, 2026 22:01
devrimcavusoglu added a commit that referenced this pull request Aug 19, 2026
)

* Restructure agent guide: split by audience, drop closed milestones

AGENTS.md had accumulated milestone archaeology and duplicated most of
docs/contributing/development.md, so the two drifted apart — development.md
held the more current dependency table and project structure.

Split them by audience. AGENTS.md keeps conventions, architecture, and
design decisions; development.md keeps contributor setup (build/test
matrix, directory tree, dependencies). Each cross-links the other rather
than restating it, so every fact has one owner.

Dropped from AGENTS.md: M0-M7 milestone history and the M6/M7 narratives
(CHANGELOG owns release history), the full build/test matrix, the
directory tree, the gh CLI tutorial, and five roadmap items that never had
tracking issues (MCP server mode, community catalog, remote catalog
search, WASI/Docker backends, LRU usage tracking).

Corrected stale claims:
- santhosh-tekuri/jsonschema was listed as a planned dependency but was
  never adopted; validation is bespoke in internal/skill/validator.go
- per-platform project capacity was documented as counting
  <platform>/.skern/skills/ rather than the platform's own project dir
- "Milestones M0-M7 are complete (v0.3.0)" contradicted the v0.3.1 header
- the feature/m<N>-<slug> branch convention has been unused since #81;
  actual practice is <type>/<slug>

Added a Scope section recording where the project stands: the registry is
the center of gravity, while platform install/uninstall stays first-class
for native progressive disclosure, sandboxed agents, and migration off an
existing .claude/skills/. The cobra group split in internal/cli/skill.go
already encodes this. Also documented tag validation and the
--tag/--category filter surfaces, which were undocumented, and noted the
#100 frontmatter gap (installs are unaffected — they are byte copies).

Amended design decision 3: adapters remain declarative, but pure-copy is
no longer an invariant. A Spec may carry post-install behavior where a
platform's loader requires it, with Uninstall reversing whatever Install
produced. #99, #101, and #47 all need this mechanism; settling it once
avoids three special cases. Stated as direction only — the adapters still
copy today, and docs/concepts/platform-adapters.md still describes that.

Roadmap now lists only tracked issues, grouped by theme.

Also: skern skill --help advertised 3 of 8 platforms from a hardcoded
string; it now derives the list from the spec table so it cannot drift
again. CHANGELOG [Unreleased] was empty despite #98, #95, and #90/#97
having shipped.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* Record deferred-scope decisions, fix remaining roadmap drift

- AGENTS.md Scope: note that remote discovery/catalog was considered and
  closed (#19, #50) in favor of skild/skills.sh, with #79 covering import;
  flag MCP mode, execution backends, and usage eviction as untracked.
- docs/guide/index.md: stop advertising MCP mode and remote catalog search
  as roadmap items; point at AGENTS.md for scope.
- development.md: branching/commit conventions now live only in AGENTS.md
  (Git Workflow); drop the duplicate bullets and redundant trailer.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Modernize GitHub Actions workflows: Node 24 migration + pin floating versions

1 participant